home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Language/OS - Multiplatform Resource Library
/
LANGUAGE OS.iso
/
et
/
et3_0-a1.lha
/
et3
/
src
/
Date.h
< prev
next >
Wrap
C/C++ Source or Header
|
1992-04-27
|
1KB
|
61 lines
#ifndef Date_First
#ifdef __GNUG__
//pragma once
#pragma interface
#endif
#define Date_First
#include "Types.h"
#include "Stream.h"
//---- Date --------------------------------------------------------------------
class Date {
public:
Date();
Date(long sec, long msec= 0);
//----- access/conversion
long Sec()
{ return sec; };
long MSec()
{ return msec; };
char *AsString();
//----- operators
Date operator+(Date &d);
Date operator-(Date &d);
Date operator*(int i);
Date operator*(double f);
//----- comparison
int Compare(Date &d);
//---- syntactic sugar: relational operators
bool operator== (Date &d)
{ return Compare(d) == 0; };
bool operator< (Date &d)
{ return Compare(d) < 0; };
bool operator<= (Date &d)
{ return Compare(d) <= 0; };
bool operator> (Date &d)
{ return Compare(d) > 0; };
bool operator>= (Date &d)
{ return Compare(d) >= 0; };
//---- Stream operators
friend OStream &operator<< (OStream &os, Date &d);
friend IStream &operator>> (IStream &is, Date &d);
private:
void Normalize();
long sec, msec;
};
SimpleMetaDef(Date);
//------------------------------------------------------------------------------
#endif Date_First